Single-axis pointing pure magnetic control algorithm for spacecraft based on geometrical analysis

ABSTRACT

Provided is a single-axis pointing pure magnetic control algorithm for a spacecraft based on geometrical analysis to realize single-axis pointing control of the spacecraft through the pure magnetic control algorithm in which a magnetic torque is only output by a magnetorquer to interact with a geomagnetic field to generate a control torque. The algorithm uses a spatial geometry method to obtain an optimally controlled magnetic torque direction, thereby designing a PD controller. The problem that the traditional magnetic control method is low in efficiency and even cannot be controlled is overcome. The algorithm is simple and easy, can be used in the attitude control field of spacecrafts, and achieves the pointing control in point-to-sun of a solar array and point-to-ground of antennae.

CROSS-REFERENCE TO RELATED APPLICATION

This is a 371 application of the International PCT application serial no. PCT/CN2016/097885, filed on Sep. 2, 2016, which claims the priority benefits of China Application No. 201610323291.7, filed on May 13, 2016. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.

BACKGROUND OF THE INVENTION Technical Field

The invention relates to the technical field of spacecraft, in particular to a single-axis pointing pure magnetic control algorithm for a spacecraft.

Description of Related Art

In a particular working mode, a spacecraft often needs to point an axis on a body system to a specific location in space, such as pointing a negative normal axis of a solar array to the direction of a sun vector, and pointing a communication antenna to the center of the earth, etc., which requires a single-axis pointing control. The problem to be solved by the single-axis pointing control is as shown in FIG. 1. {right arrow over (OB)} in the figure is a unit vector in a certain axial direction (referred to as a body axis) under the body system of an aircraft; the unit vector {right arrow over (OA)} points to a certain target azimuth under the inertial space (referred to as a target axis); the inclined angle of the unit vector and the target azimuth is β; it is necessary to generate a magnetic torque by a magnetorquer and then the magnetic torque interacts with a geomagnetic field to generate a control torque {right arrow over (T)} to control the rotation of the aircraft, and finally the body axis coincides with the target axis. In the most ideal case (regardless of rotational inertia distribution and the current angular velocity in each axial direction), the optimal direction of the desired control torque {right arrow over (T)} is along the direction {right arrow over (OB)}×{right arrow over (OA)}, i.e., the direction {right arrow over (OD)} perpendicular to the plane AOB and satisfied with the right-hand rule (this direction is referred to as the optimal rotation axis). If a single-axis PD control rate is used in this case, the magnitude of {right arrow over (T)} can be calculated according to the following equation: T=K _(p) β−K _(d){dot over (β)}  (1) where K_(p) and K_(d) are proportional differential control coefficients, respectively.

However, the truth is that the direction of the torque that the magnetorquer can output is limited by the direction of the geomagnetic field at the position where the aircraft is located, and cannot point to any direction, but only in the normal plane (the plane perpendicular to a geomagnetic field vector) of the local geomagnetic field. Due to the above limitation, it is only possible to approximate T by a projection torque T_(c) of the desired control torque T in the normal plane of the geomagnetic field, where the desired torque T is a component of the actual control torque T_(c), as shown in FIG. 2. In the figure, {right arrow over (T)}_(c) is the projection of {right arrow over (T)} in the normal plane of the geomagnetic field. Since {right arrow over (T)} is not coincident with {right arrow over (T)}_(c), {right arrow over (T)}_(c) also generates an interference torque component {right arrow over (T)}_(d) in addition to an effective control torque component {right arrow over (T)}. In order to generate a magnetic control torque {right arrow over (T)}_(c), the magnetic torque {right arrow over (M)} that the magnetorquer needs to output can be calculated by equation (2):

$\begin{matrix} {\overset{->}{M} = \frac{\overset{->}{B} \times \overset{->}{T}}{{\overset{->}{B}}^{2}}} & (2) \end{matrix}$ where {right arrow over (B)} is the local geomagnetic field vector, the actual control torque {right arrow over (T)}_(c) generated in this case is:

$\begin{matrix} {{\overset{->}{T}}_{c} = {{\overset{->}{M} \times \overset{->}{B}} = {\overset{->}{T} - {\left( {\frac{\overset{->}{B}}{B} \cdot \overset{->}{T}} \right)\frac{\overset{->}{B}}{B}}}}} & (3) \end{matrix}$ where T is the desired control torque, and

$\overset{->}{T} = {{- \left( {\frac{\overset{->}{B}}{B} \cdot \overset{->}{T}} \right)}{\frac{\overset{->}{B}}{B}.}}$ It can be seen from the above equation that the larger inclined angle of the magnetic field vector {right arrow over (B)} and the desired control torque {right arrow over (T)} leads to a larger interference torque {right arrow over (T)}_(d), and the interference torque is zero when the magnetic field vector and the desired control torque are perpendicular.

In order to ensure the effectiveness of the control (the effect of the effective control torque exceeds the effect of the interference torque), an effective control threshold is usually set, for example, the control output is generated only when T>T_(d) or the inclined angle of {right arrow over (T)} and {right arrow over (T)}_(c) is less than 45°. In the field of actual spacecraft engineering, limited by the direction of the geomagnetic field, the above-mentioned threshold requirement often cannot be reached in many positions on the spacecraft orbit. At these positions, the magnetic control algorithm will be in a stop state.

It can be seen from the above analysis that the existence of an interference torque {right arrow over (T)}_(d) in the conventional magnetic control algorithm has a negative impact on the control effect on the one hand, and often causes a controller to be in a stop state on the other hand. In addition, a rotation tendency (described by an angular acceleration) generated by the control amount is also related to the rotational inertia of a rigid body, the angular velocity of the rigid body, etc., which further increases the complexity of a control system.

BRIEF SUMMARY OF THE INVENTION

The object of the invention is to provide a single-axis pointing pure magnetic control algorithm for a spacecraft based on geometric analysis, which solves the problem of high complexity of the control system in the prior art.

To achieve the above object, the invention is implemented by the following technical solution:

A single-axis pointing pure magnetic control algorithm for a spacecraft based on geometrical analysis: comprising the following steps:

{circle around (1)} acquiring the following data: coordinates of three vectors (a target azimuth vector {right arrow over (OA)}, a body axis vector {right arrow over (OB)} and a geomagnetic field vector {right arrow over (B)}) in a body system and an aircraft inertia matrix I;

{circle around (2)} acquiring a pair of non-parallel vectors X and Y in a normal plane of a geomagnetic field;

{circle around (3)} calculating a unit normal vector Z′ of an angular acceleration plane:

X^(′) = I⁻¹X Y^(′) = I⁻¹Y $Z^{\prime} = \frac{X^{\prime} \times Y^{\prime}}{{X^{\prime} \times Y^{\prime}}}$ where I refers to the aircraft inertia matrix, X′ and Y′ are affine transformed vectors of X and Y and are approximately in a plane of an angular acceleration generated by a magnetic torque;

{circle around (4)} acquiring an optimal control rotation axis {right arrow over (OE)} by the following equation: {right arrow over (OE)}=NORM(({right arrow over (OB)}+{right arrow over (OA)})×({right arrow over (OB)}×{right arrow over (OA)})×Z′) where NORM is a vector normalization operator;

{circle around (5)} adjusting control coefficients and calculating a magnetic control torque T, wherein T must be in the normal plane of the geomagnetic field in this case, and the magnetic control torque T is calculated specifically by: calculating the magnitude and direction of a rotation angular acceleration, {dot over (ω)}_(r)=(K _(p) β{right arrow over (OE)})sign({right arrow over (OE)}·({right arrow over (OB)}×{right arrow over (OA)}))+K _(m)(ω·{right arrow over (OE)}) where K_(p) refers to a control coefficient for producing a rotation tendency in the direction {right arrow over (OE)}; β is the inclined angle of the body axis {right arrow over (OB)} and the target axis {right arrow over (OA)}; sign is to obtain a positive/negative operator which is valued as 1 when the dot product of the vectors {right arrow over (OE)} and {right arrow over (OD)} is positive or valued as −1 when the dot product is negative, or valued as 0 when the body axis and the target axis are perpendicular; the optimal rotation axis {right arrow over (OD)} is perpendicular to {right arrow over (OA)} and {right arrow over (OB)}; K_(m) refers to a control coefficient for limiting the angular velocity in the direction {right arrow over (OE)} from overshoot; next, calculating a damped angular acceleration: {dot over (ω)}_(d) =K _(d)[ω−(ω·Z′)Z′] where K_(d) refers to a control coefficient for dampening an angular velocity component in the angular acceleration plane; ω is the instantaneous angular velocity of the star, (ω·Z′)Z′ is a component perpendicular to the angular acceleration plane in ω, so ω−(ω·Z′)Z′ is a component in the angular acceleration plane in ω; and then calculating a torque required to generate the rotation angular acceleration and the damped angular acceleration: T=I({dot over (ω)}_(r)+{dot over (ω)}_(d));

{circle around (6)} calculating the required control magnetic torque M:

$\overset{->}{M} = {\frac{\overset{->}{B} \times \overset{->}{T}}{{\overset{->}{B}}^{2}}.}$

The invention has a beneficial effect that the single-axis pointing pure magnetic control algorithm for a spacecraft based on geometrical analysis of the invention realizes single-axis pointing control of the spacecraft through the pure magnetic control algorithm in which a magnetic torque is only output by a magnetorquer to interact with a geomagnetic field to generate a control torque. The algorithm overcomes the problem that the traditional magnetic control method is low in efficiency and even cannot be controlled. The algorithm is simple and easy, can be used in the control field of spacecrafts. The simulation results further prove that the method can realize single-axis pointing control such as point-to-ground of satellite antennas and thus can be used in a safety mode and specific control modes of spacecrafts.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a schematic diagram of the single-axis pointing control.

FIG. 2 is a comparison diagram of a control torque generated by a magnetorquer and a desired control torque.

FIG. 3 is a schematic diagram of Lemma 1.

FIG. 4 is a schematic diagram of an optimal rotation axis direction.

FIG. 5 is a flow chart of the method of the invention.

FIG. 6 is a simulation result of a point-to-ground error angle curve.

FIG. 7 is a simulation result of an X-axis angular velocity curve.

FIG. 8 is a simulation result of a Y-axis angular velocity curve.

FIG. 9 is a simulation result of a Z-axis angular velocity curve.

DETAILED DESCRIPTION OF THE INVENTION

The invention will now be further described with reference to the accompanying drawings and specific embodiments.

Lemma 1: Two unit vectors, {right arrow over (OA)} and {right arrow over (OB)}, are known. A unit vector {right arrow over (OC)} is on the bisecting line of the inclined angle formed by the above-mentioned two vectors. The unit vector

$\overset{\longrightarrow}{OD} = \frac{\overset{\longrightarrow}{OB} \times \overset{\longrightarrow}{OA}}{{\overset{\longrightarrow}{OB} \times \overset{\longrightarrow}{OA}}}$ is perpendicular to the plane (Plane AOB) where {right arrow over (OA)} and {right arrow over (OB)} are located, {right arrow over (OB)} can coincide with {right arrow over (OA)} after rotating a certain angle around any rotation axis passing the point O and located in Plane DOC.

It is proved as follows: Any unit vector axis {right arrow over (OE)} passing O and located in the plane DOC is selected, then there must be constants a and b, and then: {right arrow over (OE)}=a{right arrow over (OC)}+b{right arrow over (OD)}  (4)

Because the unit vector {right arrow over (OC)} is on the bisecting line of ∠AOB, and then

$\begin{matrix} {\overset{\longrightarrow}{OC} = \frac{\overset{\longrightarrow}{OA} + \overset{\longrightarrow}{OB}}{{\overset{\longrightarrow}{OA} + \overset{\longrightarrow}{OB}}}} & (5) \end{matrix}$

Let ∥{right arrow over (OA)}+{right arrow over (OB)}∥=c, (5) is substituted into (4), and then,

$\begin{matrix} {\overset{\longrightarrow}{OE} = {{\frac{a}{c}\left( {\overset{\longrightarrow}{OA} + \overset{\longrightarrow}{OB}} \right)} + {b\overset{\longrightarrow}{OD}}}} & (6) \end{matrix}$

The dot products of the vectors are further calculated as follow:

$\begin{matrix} {{\overset{\longrightarrow}{OE} \cdot \overset{\longrightarrow}{OA}} = {{\frac{a}{c}\left( {{\overset{\longrightarrow}{OA} \cdot \overset{\longrightarrow}{OA}} + {\overset{\longrightarrow}{OB} \cdot \overset{\longrightarrow}{OA}}} \right)} + {b{\overset{\longrightarrow}{OD} \cdot \overset{\longrightarrow}{OA}}}}} & (7) \\ {{\overset{\longrightarrow}{OE} \cdot \overset{\longrightarrow}{OB}} = {{\frac{a}{c}\left( {{\overset{\longrightarrow}{OA} \cdot \overset{\longrightarrow}{OB}} + {\overset{\longrightarrow}{OB} \cdot \overset{\longrightarrow}{OB}}} \right)} + {b{\overset{\longrightarrow}{OD} \cdot \overset{\longrightarrow}{OB}}}}} & (8) \end{matrix}$

Since each vector is a unit vector and {right arrow over (OD)} is perpendicular to {right arrow over (OA)} and {right arrow over (OB)}, the following results are established: {right arrow over (OD)}·{right arrow over (OA)}={right arrow over (OD)}·{right arrow over (OB)}=0 {right arrow over (OA)}·{right arrow over (OA)}={right arrow over (OB)}·{right arrow over (OB)}=1 {right arrow over (OA)}·{right arrow over (OB)}={right arrow over (OB)}·{right arrow over (OA)}  (9)

(9) is substituted into (7) and (8), and then, {right arrow over (OE)}·{right arrow over (OA)}={right arrow over (OE)}·{right arrow over (OB)}  (10)

Thus it is concluded that ∠AOE=∠BOE, that is to say, {right arrow over (OB)} must coincide with {right arrow over (OA)} after rotating a certain angle around {right arrow over (OE)}, and the lemma is proved.

The main function of the lemma is to expand the selection range of the rotation axis. In addition to the optimal rotation axis {right arrow over (OD)}, rotation around a series of sub-optimal rotation axes in the same plane also can result in that the body axis points to the target axis. For the convenience, the plane DOC is referred to as a rotation axis plane. It should be noted that when the inclined angle of {right arrow over (OE)} and {right arrow over (OD)} is less than 90°, the angle of rotation required is less than 180°; when the inclined angle is larger than 90°, the angle of rotation required is larger than 180°, and the angle of rotation required is exactly 180° when they are perpendicular.

According to the rigid body dynamics equation, it is assumed that the rotational inertia matrix of the aircraft is I and the instantaneous angular velocity is ω, the angular acceleration of the aircraft under the control torque T is calculated as follows: {dot over (ω)}=I ⁻¹(T−ω×Iω)  (11)

When the instantaneous angular velocity of the star is small, the items in ω×Iω are all second-order infinitesimal and can be approximately ignored, and then {dot over (ω)}≈I ⁻¹ T  (12)

Since the torque T is located in the normal plane of the local geomagnetic field B, T must be linearly represented by a pair of non-parallel vectors X and Y in the normal plane, that is, for any magnetic control torque T, the following is must concluded: T=aX+bY  (13) where a and b are constant coefficients; the constants are substituted into (12), then {dot over (ω)}≈a(I ⁻¹ X)+b(I ⁻¹ Y)=aX′+bY′  (14)

According to the parallel retention of affine coordinate transformation, since X and Y are not parallel, X′ and Y′ must also be non-parallel after affine transformation, an angular acceleration generated by any torque T in the normal plane (the plane formed by X and Y) of the magnetic field is located in the plane formed by the vectors X′ and Y′ (the plane is simply referred to as the angular acceleration plane), thereby forming one-to-one mapping from the normal plane (also regarded as a magnetic torque plane) of the magnetic field to the angular acceleration plane by affine coordinate transformation. A unit normal vector of the angular acceleration plane may be obtained according to the following equation:

$\begin{matrix} {Z^{\prime} = \frac{X^{\prime} \times Y^{\prime}}{{X^{\prime} \times Y^{\prime}}}} & (15) \end{matrix}$

Obviously, Z′ is an ideal normal vector of the angular acceleration plane.

In summary, when the instantaneous angular velocity is very small, the angular acceleration generated by the magnetic control torque in the normal plane of the magnetic field is approximately located in the angular acceleration plane. According to the conclusion of Lemma 1, the angular acceleration control can be performed according to the following method:

(1) when the angular acceleration plane is parallel to the rotation axis plane, a rotation angular acceleration {dot over (ω)}_(r) can be generated along the direction of the optimal rotation axis {right arrow over (OD)}, so that a tendency of rotating {right arrow over (OA)} to {right arrow over (OB)} is generated;

(2) when the angular acceleration plane is not parallel to the rotation axis plane, the two planes must have an intersection line, and a rotation angular acceleration {dot over (ω)}_(r) is generated along the intersection line {right arrow over (OE)}, and a tendency of rotating {right arrow over (OA)} to {right arrow over (OB)} is also generated, as shown in FIG. 4;

(3) the modulus value of the rotation angular acceleration {dot over (ω)}_(r) should be proportional to the inclined angle of {right arrow over (OA)} and {right arrow over (OB)} and moreover the problem that large overshoot is caused by the angular velocity on {right arrow over (OE)} can be prevented;

(4) in order to ensure the system stability, angular velocity damping should be performed, that is, a damped angular acceleration {dot over (ω)}_(d) is generated in the opposite direction of the projection of the instantaneous angular velocity of the aircraft in the angular acceleration plane, and the modulus value of the damped angular acceleration is proportional to the modulus value of the corresponding projection;

(5) the angular acceleration generated by the actual control torque output should be the vector sum of the rotation angular acceleration {dot over (ω)}_(r) and the damped angular acceleration {dot over (ω)}_(d).

The direction of rotation angular acceleration {dot over (ω)}_(r) can be calculated according to the following equation:

$\begin{matrix} \begin{matrix} {\overset{\longrightarrow}{OE} = {{NORM}\left( {\overset{\longrightarrow}{OC} \times \overset{\longrightarrow}{OD} \times Z^{\prime}} \right)}} \\ {= {{NORM}\left( {\left( {\overset{\longrightarrow}{OB} + \overset{\longrightarrow}{OA}} \right) \times \left( {\overset{\longrightarrow}{OB} \times \overset{\longrightarrow}{OA}} \right) \times Z^{\prime}} \right)}} \end{matrix} & (16) \end{matrix}$ where NORM is a vector normalization operator. Since the vector {right arrow over (OC)}×{right arrow over (OD)} is the normal of the rotation axis plane and Z′ is the normal of the angular acceleration plane, so {right arrow over (OE)} is perpendicular to the normals of both the rotation axis plane and the angular acceleration plane, that is, both in the rotation axis plane and the angular acceleration plane (the two planes intersect with each other), X and Y are any two non-parallel vectors in the normal plane of the magnetic field. The magnitude and direction of the rotation angular acceleration can be calculated as follows: ω_(r)=(K _(p) β{right arrow over (OE)})sign({right arrow over (OE)}·({right arrow over (OB)}×{right arrow over (OA)}))+K _(m)(ω·{right arrow over (OE)})  (17) where K_(p) refers to a control coefficient; β is the inclined angle of the body axis and the target axis; sign is to obtain a positive/negative operator which is valued as 1 when the dot product of the vectors {right arrow over (OE)} and {right arrow over (OD)} is positive (the inclined angle is less than 90°) or valued as −1 when the dot product is negative, or valued as 0 when the body axis and the target axis are perpendicular; K_(m) refers to a control coefficient for controlling the angular velocity in the direction {right arrow over (OE)}. A damped angular acceleration can be calculated according to the following equation: {dot over (ω)}_(d) =K _(d)[ω−(ω·Z′)Z′]  (18) where K_(d) refers to a control coefficient for dampening an angular velocity component in the angular acceleration plane; ω is the instantaneous angular velocity of the star, (ω·Z′)Z′ is a component perpendicular to the angular acceleration plane in ω, so ω−(ω·Z′)Z′ is a component in the angular acceleration plane in ω. A torque required to generate the rotation angular acceleration and the damped angular acceleration is then calculated as follows: T=I(ω_(r)+ω_(d))  (19) where I is the rotational inertia of the spacecraft. It can be seen from the above derivation that since {dot over (ω)}_(r)+{dot over (ω)}_(d) is in the angular acceleration plane, the torque T must be in the normal plane of the magnetic field. Then, the required control magnetic torque M can be obtained by the equation (2). Since the torque T is perpendicular to the magnetic field B, it can be completely generated by a magnetorquer.

In summary, as shown in FIG. 5, the implementation steps of the single-axis pointing magnetic control algorithm designed by the invention are as follows:

{circle around (1)} acquiring the following data: coordinates of three vectors, a target azimuth vector {right arrow over (OA)}, a body axis vector {right arrow over (OB)} and a geomagnetic field vector {right arrow over (B)}, in a body system and an aircraft inertia matrix I;

{circle around (2)} acquiring a pair of non-parallel vectors X and Y in a normal plane of a geomagnetic field, and calculating a cross product of {right arrow over (B)} and any vector that is not parallel to the geomagnetic field vector {right arrow over (B)} to obtain a vector X, and calculating a cross product of X and {right arrow over (B)} to obtain Y;

{circle around (3)} acquiring a unit normal vector Z′ of an angular acceleration plane according to the equations (14) and (15);

{circle around (4)} acquiring {right arrow over (OE)} according to the equation (16);

{circle around (5)} adjusting control coefficients and calculating a magnetic control torque T according to the equations (17), (18) and (19), wherein T must be in the normal plane of the magnetic field in this case; and

{circle around (6)} calculating the required control magnetic torque M according to the equation (2).

The algorithm of the invention is essentially a PD control method based on geometric analysis and affine coordinate transformation. The algorithm is simple and easy to implement, and can be completely applied to practical engineering applications.

The simulation test is carried out under Matlab. The pure magnetic control is used to cause the Z axis of the star to point to the center of the earth to form a slowly changing follow-up system. The simulation parameters are shown in Table 1:

TABLE 1 Simulation parameters Orbital attitude 500 Km Orbital inclination 30° Orbital eccentricity 0 Initial pointing deviation 92° Each axial initial angular velocity  0.2°/s Three-axis residual magnetism 0.6 Am² Maximum output of magnetorquer 25 Am² Kp 0.001 Km −0.001 Kd −0.01

The simulation results are as shown in FIG. 6, FIG. 7, FIG. 8 and FIG. 9. When the pointing error longitude is converged to be less than 1° and the angular velocity of each axis is also controlled when the attitude is less than 10000 s. The simulation is carried out under the condition that other simulation parameters are unchanged and only the orbital inclination is modified. It is confirmed that the method of the invention can obtain good control results under the orbital inclination ranging from 30° to 90°, only with the difference in convergence time.

The foregoing is a further detailed description of the invention in connection with the specific preferred embodiments, and it is not to be determined that the specific embodiments of the invention are limited to these descriptions. Multiple simple deductions or replacements made by those skilled in the field to which the invention belongs, without departing from the spirit and scope of the invention, shall be considered as falling within the scope of the invention. 

What is claimed is:
 1. An attitude control method for a spacecraft, wherein the attitude control method comprises the following steps: {circle around (1)} acquiring following data: coordinates of a target azimuth vector {right arrow over (OA)}, a body axis vector {right arrow over (OB)} and a geomagnetic field vector {right arrow over (B)} in a body system and an aircraft inertia matrix I; {circle around (2)} acquiring a pair of non-parallel vectors X and Y in a normal plane of a geomagnetic field; {circle around (3)} calculating a unit normal vector Z′ of an angular acceleration plane through affine transformation of the aircraft inertia matrix I: X^(′) = I⁻¹X Y^(′) = I⁻¹Y $Z^{\prime} = \frac{X^{\prime} \times Y^{\prime}}{{X^{\prime} \times Y^{\prime}}}$ wherein X′ and Y′ are affine transformed vectors of X and Y and are approximately in the angular acceleration plane generated by a magnetic torque; {circle around (4)} acquiring an optimal control rotation axis vector {right arrow over (OE)} by a following equation: {right arrow over (OE)}=NORM(({right arrow over (OB)}+{right arrow over (OA)})×({right arrow over (OB)}×{right arrow over (OA)})×Z′) where NORM is a vector normalization operator; {circle around (5)} adjusting control coefficients and calculating a magnetic control torque T, wherein the magnetic control torque T must be in the normal plane of the magnetic field in this case, and the magnetic control torque T is calculated specifically by: calculating a magnitude and a direction of a rotation angular acceleration, ω_(r)=(K _(p) β{right arrow over (OE)})sign({right arrow over (OE)}·({right arrow over (OB)}×{right arrow over (OA)}))+K _(m)(ω·{right arrow over (OE)})  (17) wherein Kp refers to a control coefficient; β is an inclined angle between the body axis vector {right arrow over (OB)} and the target azimuth vector {right arrow over (OA)}; sign is to obtain a positive/negative operator which is valued as 1 when a dot product of the vectors {right arrow over (OE)} and {right arrow over (OD)} is positive or valued as −1 when the dot product is negative, or valued as 0 when the body axis vector and the target azimuth vector are perpendicular; an optimal rotation axis {right arrow over (OD)} is perpendicular to {right arrow over (OA)} and {right arrow over (OB)}; Km refers to a control coefficient for controlling an angular velocity in a direction of the vector {right arrow over (OE)}; next, calculating a damped angular acceleration: {dot over (ω)}_(d) =K _(d)[ω−(ω·Z′)Z′] wherein Kd refers to a control coefficient; ω is the instantaneous angular velocity of the star, (ω·Z′)Z′ is a component perpendicular to the angular acceleration plane in ω, so ω−(ω·Z′)Z′ is a component in the angular acceleration plane in ω; and then calculating a torque required to generate the rotation angular acceleration and the damped angular acceleration: T=I({dot over (ω)}_(r)+{dot over (ω)}_(d)); {circle around (6)} calculating a required control magnetic torque M: ${\overset{->}{M} = \frac{\overset{->}{B} \times \overset{->}{T}}{{\overset{->}{B}}^{2}}};$ and {circle around (7)} controlling the spacecraft according to the required control magnetic torque M.
 2. The attitude control method of claim 1, wherein the step {circle around (2)} is specifically: calculating a cross product of {right arrow over (B)} and any vector that is not parallel to the geomagnetic field vector {right arrow over (B)} to obtain a vector X, and calculating a cross product of X and {right arrow over (B)} to obtain Y. 